home *** CD-ROM | disk | FTP | other *** search
- " Vim syntax file
- " Language: bc - An arbitrary precision calculator language
- " Maintainer: Vladimir Scholtz <vlado@gjh.sk>
- " Last change: 2001 Sep 02
- " Available on: www.gjh.sk/~vlado/bc.vim
-
- " For version 5.x: Clear all syntax items
- " For version 6.x: Quit when a syntax file was already loaded
- if version < 600
- syntax clear
- elseif exists("b:current_syntax")
- finish
- endif
-
- syn case ignore
-
- " Keywords
- syn keyword bcKeyword if else while for break continue return limits halt quit
- syn keyword bcKeyword define
- syn keyword bcKeyword length read sqrt print
-
- " Variable
- syn keyword bcType auto
-
- " Constant
- syn keyword bcConstant scale ibase obase last
- syn keyword bcConstant BC_BASE_MAX BC_DIM_MAX BC_SCALE_MAX BC_STRING_MAX
- syn keyword bcConstant BC_ENV_ARGS BC_LINE_LENGTH
-
- " Any other stuff
- syn match bcIdentifier "[a-z_][a-z0-9_]*"
-
- " String
- syn match bcString "\"[^"]*\""
-
- " Number
- syn match bcNumber "[0-9]\+"
-
- " Comment
- syn match bcComment "\#.*"
- syn region bcComment start="/\*" end="\*/"
-
- " Parent ()
- syn cluster bcAll contains=bcList,bcIdentifier,bcNumber,bcKeyword,bcType,bcConstant,bcString,bcParentError
- syn region bcList matchgroup=Delimiter start="(" skip="|.\{-}|" matchgroup=Delimiter end=")" contains=@bcAll
- syn region bcList matchgroup=Delimiter start="\[" skip="|.\{-}|" matchgroup=Delimiter end="\]" contains=@bcAll
- syn match bcParenError "]"
- syn match bcParenError ")"
-
-
-
- syn case match
-
- " Define the default highlighting.
- " For version 5.7 and earlier: only when not done already
- " For version 5.8 and later: only when an item doesn't have highlighting yet
- if version >= 508 || !exists("did_bc_syntax_inits")
- if version < 508
- let did_bc_syntax_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
-
- HiLink bcKeyword Statement
- HiLink bcType Type
- HiLink bcConstant Constant
- HiLink bcNumber Number
- HiLink bcComment Comment
- HiLink bcString String
- HiLink bcSpecialChar SpecialChar
- HiLink bcParenError Error
-
- delcommand HiLink
- endif
-
- let b:current_syntax = "bc"
- " vim: ts=8
-